package com.tang.subject.domain.service;

import com.tang.common.entity.PageResult;
import com.tang.subject.domain.entity.SubjectInfoBO;

/**
 * 题目领域服务
 *
 * @author Tang
 * @date 2024/2/4 13:28
 **/
public interface SubjectInfoDomainService {
    /**
     * 新增题目
     *
     * @param subjectInfoBO 待添加的题目信息
     * @return java.lang.Boolean
     * @author Tang
     * @date 2024/2/4 13:28
     **/
    Boolean addSubjectInfo(SubjectInfoBO subjectInfoBO);

    /**
     * 查询题目列表
     *
     * @param subjectInfoBO 查询条件
     * @return com.tang.subject.common.entity.PageResult<com.tang.subject.domain.entity.SubjectInfoBO>
     * @author Tang
     * @date 2024/2/4 17:15
     **/
    PageResult<SubjectInfoBO> getSubjectPage(SubjectInfoBO subjectInfoBO);

    /**
     * 查询题目详细信息
     *
     * @param query 查询条件
     * @return com.tang.subject.domain.entity.SubjectInfoBO
     * @author Tang
     * @date 2024/2/5 17:40
     **/
    SubjectInfoBO querySubjectInfo(SubjectInfoBO query);

    /**
     * 通过关键词全文检索题目选项
     *
     * @param search 检索条件
     * @return com.tang.common.entity.PageResult<com.tang.subject.domain.entity.SubjectInfoBO>
     * @author Tang
     * @date 2024/2/24 14:37
     **/
    PageResult<SubjectInfoBO> searchSubjectInfo(SubjectInfoBO search);
}
